/*自己的代码，0/10,来看看解析怎么做*/
// #include<bits/stdc++.h>
// using namespace std;

// int main()
// {
//     string s;
//     int n;
//     cin >> n;
//     int sum = n;

//     for (int i = 0; i < n-2; i++)
//     {
//         cin >> s;
//         sort(s.begin(), s.end());
//         if (s[i] == s[i + 1])
//         {
//             sum--;
//         }
//     }
//     cout << sum;
//     return 0;
// }
// 思想和我一样，都是排序然后比较，但是需要存到哈希表里面
#include <bits/stdc++.h>
using namespace std;
int n, ans;
string s;
map<string, int> mp;
int main()
{
	cin >> n;
	for (int i = 1; i <= n; i++)
	{
		cin >> s;
		sort(s.begin(), s.end());
		if (!mp[s])
		{
			ans++;
			mp[s] = 1;
		}
	}
	cout << ans;
	return 0;
}
